package cn.heyige.backend.service;

import java.util.Map;

/**
 * 会员服务接口 - 精简版
 *
 * 专注于核心会员管理功能，提高系统性能和可维护性
 *
 * @author CodeBuddy
 */
public interface MembershipService {
    
    /**
     * 获取用户会员信息
     *
     * @param userId 用户ID
     * @return 会员信息
     */
    Map<String, Object> getMembershipInfo(String userId);
    
    /**
     * 获取会员套餐列表
     *
     * @return 会员套餐列表
     */
    Map<String, Object> getMembershipPlans();
    
    /**
     * 检查用户每日占卜次数限制
     *
     * @param userId 用户ID
     * @return 是否允许占卜
     */
    boolean checkDailyDivinationLimit(String userId);
    
    /**
     * 记录用户占卜次数
     *
     * @param userId 用户ID
     */
    void recordDivinationUsage(String userId);
    
    /**
     * 检查用户AI解读次数限制
     *
     * @param userId 用户ID
     * @return 是否允许AI解读
     */
    boolean checkAiInterpretationLimit(String userId);
    
    /**
     * 记录AI解读次数
     *
     * @param userId 用户ID
     */
    void recordAiInterpretationUsage(String userId);
    
    /**
     * 检查用户是否为VIP会员
     *
     * @param userId 用户ID
     * @return 是否为VIP会员
     */
    boolean isVipMember(String userId);
}